home *** CD-ROM | disk | FTP | other *** search
/ SPACE 2 / SPACE - Library 2 - Volume 1.iso / program / 152 / alert.c next >
Encoding:
C/C++ Source or Header  |  1987-06-21  |  2.7 KB  |  78 lines

  1. /* alert.c MW C V.2.0. pp224,225  3June 1987 CJPurcell exercise.....     */
  2. #include <ctype.h>
  3. #include <stdio.h>
  4. #include <aesbind.h>
  5. #define CANTOPEN 0
  6. #define NOTASCII 1
  7. #define FOULUP 2
  8. #define GEMRETURN 3
  9. #define PATHSEP '\\'
  10. extern char *rindex();
  11. char DIRPATH[80] = "B:\\*.*";
  12. static char *STRING[] = {
  13.         "[2][ Cannot Open File ][ Return|Try Again ]",
  14.         "[3][ File is not ASCII ][ Ok ]",
  15.         "[3][ Foul-up in fsel_input ][ Ok ]",
  16.         "[3][ Return to GEM ][ Ok ]"            };
  17. /* MAIN */
  18. main()
  19. {
  20.         FILE *fp;
  21.         register char *cp;
  22.         char name[80],
  23.              fullname[80];
  24.         int   button, ch, ldp, lcp, i;
  25.         appl_init();
  26.         for(;;)
  27.         {
  28.                 if(fsel_input(DIRPATH,name,&button)==0)  alert(FOULUP);
  29.                 if  ( button == 0 )                      alert(GEMRETURN);
  30.                 cp  =  rindex(DIRPATH, PATHSEP);
  31.                 lcp =  strlen(cp) - 1 ;
  32.                 ldp =  strlen(DIRPATH);
  33.                 for( i=0 ; i < (ldp + lcp) ; i ++ )
  34.                 {
  35.                         fullname[i] = '\0' ;  /* pre-clear fullname */
  36.                 }
  37.                 strncpy(fullname, DIRPATH, (ldp - lcp));
  38.                 strncat(fullname, name, 12);
  39.                 printf("******** Quick scan of  %s   !******** \n ", fullname);
  40.                 if ((fp = fopen(fullname, "r")) == 0)    alert(CANTOPEN);
  41.                 while ((ch = fgetc(fp)) != EOF)
  42.                 {
  43.                         if (isascii(ch))  putchar(ch);
  44.                          else                             alert(NOTASCII);
  45.                 }
  46.                 printf("*****Close after scan of  %s  !****** \n ", fullname);
  47.                 fclose(fp);
  48.         }
  49.         evnt_keybd();
  50.         appl_exit();
  51.         exit(0);
  52. }
  53. /* FUNCTION alert */
  54. alert(flag) int flag;
  55. {
  56.         int button = 1;
  57.         if(flag > GEMRETURN)   flag = GEMRETURN;
  58.         if(form_alert(button, STRING[flag]) == 2)
  59.                 return;
  60.         appl_exit();
  61.         exit(1);
  62. }
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69. /*************************************************************************/
  70. /*   Consider:                                                           */
  71. /*    16 buttons                label                  16 file names     */
  72. /*        "                                              preset          */
  73. /*        "               file selector space              or            */
  74. /*       etc.                                            stacked         */
  75. /*        "      GEM   MORE  PRINT   EXECUTE             (saved)         */
  76. /*              return   "    lpr      func                              */
  77. /*************************************************************************/
  78.